EB problem for ABCD: Avoid mixing family types when adding information of train-test into EB#2
Open
enicolaisen wants to merge 1 commit into
Open
EB problem for ABCD: Avoid mixing family types when adding information of train-test into EB#2enicolaisen wants to merge 1 commit into
enicolaisen wants to merge 1 commit into
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Me and my collaborator Zeying Du faced an issue with the EB matrix for ABCD. We got the following error:
We were able to trace back the problem to line 82 in
calc_permid.mThere, the EB matrix is edited to indicate which subjects are on train and which on test.
But the way it's done mixes family types.
The 2nd column of the EB matrix encodes families with values of 10 and 20, among others: 10 and 20 are two different family types.
When the information of train and test is added, column 2 is multiplied by a vector (
trid+1) which includes values of 1 and 2, so some 10s became 20s.This mix of family types is why the sizes of the blocks are wrong and hence the error.
The suggested fix ensures that the values added to the EB matrix are at least one order of magnitude bigger than the maximum value in the 2nd column of EB, ensuring that families are not mixed.
Best,
Eli
@kaurao
@zeyingdu-helen